NAFPack_fft Module

Module for Fourier Transform This module provides an interface for performing Fourier Transforms (FFT or DFT, IFFT) on 1D, 2D, and 3D signals. It supports both forward and inverse transforms. It allows users to choose between different methods for the Fourier Transform, such as NAFPack and FFTW.


Uses

  • module~~nafpack_fft~~UsesGraph module~nafpack_fft NAFPack_fft FFTW3 FFTW3 module~nafpack_fft->FFTW3 module~nafpack_constant NAFPack_constant module~nafpack_fft->module~nafpack_constant iso_fortran_env iso_fortran_env module~nafpack_constant->iso_fortran_env

Functions

public function FFT_1D(signal, method, threads) result(result)

Perform a 1D Fourier Transform on a signal

Read more…

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(inout), DIMENSION(:) :: signal
character(len=*), intent(in) :: method
integer, intent(in), optional :: threads

Return Value complex(kind=dp), DIMENSION(SIZE(signal))

public function IFFT_1D(signal, method, threads) result(result)

Perform a 1D inverse Fast Fourier Transform on a signal

Read more…

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(inout), DIMENSION(:) :: signal
character(len=*), intent(in) :: method
integer, intent(in), optional :: threads

Return Value complex(kind=dp), DIMENSION(SIZE(signal))

public function FFT_2D(signal, method, threads) result(result)

Perform a 2D Fast Fourier Transform on a signal

Read more…

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(inout), DIMENSION(:, :) :: signal
character(len=*), intent(in) :: method
integer, intent(in), optional :: threads

Return Value complex(kind=dp), DIMENSION(SIZE(signal, 1) ,SIZE(signal, 2))

public function IFFT_2D(signal, method, threads) result(result)

Perform a 2D inverse Fast Fourier Transform on a signal

Read more…

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(inout), DIMENSION(:, :) :: signal
character(len=*), intent(in) :: method
integer, intent(in), optional :: threads

Return Value complex(kind=dp), DIMENSION(SIZE(signal, 1), SIZE(signal, 2))

public function FFT_3D(signal, method, threads) result(result)

Perform a 3D Fast Fourier Transform on a signal

Read more…

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(inout), DIMENSION(:, :, :) :: signal
character(len=*), intent(in) :: method
integer, intent(in), optional :: threads

Return Value complex(kind=dp), DIMENSION(SIZE(signal, 1) ,SIZE(signal, 2), SIZE(signal, 3))

public function IFFT_3D(signal, method, threads) result(result)

Perform a 3D inverse Fast Fourier Transform on a signal

Read more…

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(inout), DIMENSION(:, :, :) :: signal
character(len=*), intent(in) :: method
integer, intent(in), optional :: threads

Return Value complex(kind=dp), DIMENSION(SIZE(signal, 1), SIZE(signal, 2), SIZE(signal, 3))